home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / smail-3.1.28 / samples / generic / transports < prev    next >
Encoding:
Text File  |  1992-09-05  |  20.1 KB  |  496 lines

  1. # @(#)samples/generic/transports    1.11 9/6/92 04:41:55
  2.  
  3. # This file defines the configuration of the transport subsystem as
  4. # compiled into the smail binary.  By modifying the source files
  5. # conf/EDITME, src/config.h or src/default.c the actual internal
  6. # configuration can be changed.  Thus, this should be matched up
  7. # against thes files before assuming this is completely correct.
  8. #
  9. # If a run-time transports file is created, then its entries will
  10. # complement or replace the compiled-in transport entries.  Thus,
  11. # contrary to use of the routers and directors files, you do not need
  12. # to copy and localize this file in order to add new transports.
  13. #
  14. #
  15. # IMPORTANT FOR INTERNET USERS
  16. #
  17. # The smtp, uucp_zone_smtp, inet_zone_smtp, and local_smtp transports
  18. # should be configured to use the DNS for finding MX and A records,
  19. # if the host was not resolved by the bind version of the inet_hosts
  20. # router.  To configure this, uncomment the use_bind attributes on
  21. # the various tcpsmtp-based transport definitions.
  22. #
  23. #
  24. # IMPORTANT FOR SCO UNIX SYSTEMS
  25. #
  26. # Recent SCO UNIX systems use the MMDF file format.  If you wish to
  27. # have smail generate this format, then comment out the unix_from_hack
  28. # and the first suffix lines, in the "local" and "file" transports,
  29. # and uncomment all lines that are commented with "MMDF mailbox format".
  30. #
  31. #
  32. # IMPORTANT FOR SYSTEM V RELEASE 4 USERS
  33. #
  34. # The SVR4 mailx expects to find Content-Length header fields on
  35. # messages.  If such a header is not found (or if a remote site
  36. # supplies an incorrect Content-Length header), then mailx may split
  37. # your mailbox file into messages at inappropriate boundaries.  To
  38. # add a Content-Length field to messages appended to your mailbox
  39. # files, and sent to shell-command or file addresses, uncomment all
  40. # attributes that are indicated with "SVR4 mailbox format".  This
  41. # will also ensure that you have a "Content-Type" field, defaulting
  42. # the content type to "text".
  43. #
  44. # You will likely also wish to uncomment unix_from_hack from the
  45. # local, pipe, and file transports, since prepending > to lines
  46. # starting with From is not necessary with this the SVR4 mailbox
  47. # format.  You can also comment out the suffix="\n" lines in the
  48. # local, and file transports, since a blank line is not required
  49. # between messages for the SVR4 mailbox format.
  50. #
  51. #
  52. # IMPORTANT FOR USE WITH HoneyDanBer UUCP
  53. #
  54. # Systems with HoneyDanBer UUCP (for example, System V Release 4)
  55. # can invoke uux with -a$sender -g$grade to cause UUCP errors to
  56. # be mailed to the message sender, and to alter UUCP queue priorities
  57. # based on Precedence header fields.  For SVR4, you should add the
  58. # following to your /etc/uucp/Grades file:
  59. #
  60. #    9    9    Any    User    Any
  61. #    A    A    Any    User    Any
  62. #    C    C    Any    User    Any
  63. #    a    a    Any    User    Any
  64. #    n    n    Any    User    Any
  65. #
  66. # This is because the SVR4 HDB UUCP uses long message grade names
  67. # on the uux command line, which are not supported by Smail.
  68. #
  69. #
  70. # HANDLING TRANSIENT UUCP FAILURES
  71. #
  72. # Many systems seem to get failures from uux from time to time.  I
  73. # guess this is load related.  Smail normally returns bounce messages
  74. # in such situations.  However, generating a bounce message can be
  75. # annoying if the failures are truly transient.
  76. #
  77. # The only way to handle this, if you encounter this often, is to
  78. # make sure that your UUCP configuration doesn't have any conflicts
  79. # with your smail configuration (which implies that uux should never
  80. # fail for configuration-related errors).  Then, uncomment the
  81. # defer_child_errors attribute in the various uux-based transports
  82. # defined in this file.  This will cause smail to retry (at a later
  83. # time) any failures encountered by executing uux.
  84.  
  85.  
  86. # local - deliver mail to local users
  87. #
  88. # By default, smail will append directly to user mailbox files.
  89. #
  90. # IMPORTANT FOR SYSTEM V AND SCO USERS
  91. #
  92. # comment out the mode=0600 line below, and uncomment the mode=0660
  93. # line, to get the correct mailbox file permissions for your system.
  94. local:    driver=appendfile,        # append message to a file
  95.     return_path,            # include a Return-Path: field
  96.     from,                # supply a From_ envelope line
  97.     unix_from_hack,            # insert > before From in body
  98.                     # comment out the above line for
  99.                     # MMDF mailbox format and for
  100.                     # use with the Content-Length
  101.                     # header fields.
  102. # SVR4 mailbox format: uncomment the below 3 lines
  103. #    remove_header="Content-Length",
  104. #    append_header="${if !header:Content-Type :Content-Type: text}",
  105. #    append_header="Content-Length: $body_size",
  106.     local;                # use local forms for delivery
  107.  
  108.     file=/usr/spool/mail/${lc:user}, # location of mailbox files
  109. #    file=/usr/mail/${lc:user},    # use this location for System V
  110. #    group=mail,            # group to own file for System V
  111.     mode=0600,            # For BSD: only the user can
  112.                     # read and write file
  113. #    mode=0660,            # under System V, group mail can access
  114.                     # use this for SCO UNIX, as well
  115.     suffix="\n",            # append an extra newline
  116.                     # comment out the above line for
  117.                     # MMDF mailbox format and for
  118.                     # use with the Content-Length
  119.                     # header fields.
  120.     notify_comsat,            # notify comsat daemon of delivery
  121. #    suffix="\1\1\1\1\n",        # MMDF mailbox format
  122. #    prefix="\1\1\1\1\n",        # MMDF mailbox format
  123.  
  124. # local - an alternate local transport that calls on /bin/lmail
  125. #
  126. # Some systems have special local conventions for mail delivery that
  127. # smail does not understand.  Such conventions may include adding
  128. # special headers, or may include particular locking conventions.  For
  129. # such systems, smail can use a system-provided program for delivery
  130. # to user mailbox files.  On most systems, the /bin/mail program will
  131. # perform mail delivery according to local conventions.  However,
  132. # smail will often require that /bin/mail be replaced with a program
  133. # that calls out to smail to perform delivery.  By convention, the
  134. # original /bin/mail program should be saved to /bin/lmail.
  135. #
  136. # It may be necessary to modify this entry to operate within your
  137. # local conventions.
  138. #
  139. # NOTE: If you wish to use this alternate local entry, you must
  140. # comment out the regular local transport entry, and uncomment the
  141. # entry below.
  142. #local:    driver=pipe,            # call out to a program
  143. #    return_path,            # include a Return-Path: field
  144. #    local,                # use local forms for delivery
  145. #    from,                # supply a From_ envelope line
  146. #    -max_addrs;            # give multiple addresses to command
  147. #
  148. #    cmd="/bin/lmail $($user$)"
  149.  
  150. # pipe - deliver mail to shell commands
  151. #
  152. # This is used implicitly when smail encounters addresses which begin with
  153. # a vertical bar character, such as "|/usr/lib/news/recnews talk.bizarre".
  154. # The vertical bar is removed from the address before being given to the
  155. # transport.
  156. pipe:    driver=pipe,            # pipe message to another program
  157.     return_path,            # include a Return-Path: field
  158.     from,                # supply a From_ envelope line
  159.     unix_from_hack,            # insert > before From in body
  160.                     # comment out the above line for
  161.                     # use with the Content-Length
  162.                     # header fields.
  163. # SVR4 mailbox format: uncomment the below 3 lines
  164. #    remove_header="Content-Length",
  165. #    append_header="${if !header:Content-Type :Content-Type: text}",
  166. #    append_header="Content-Length: $body_size",
  167.     local;                # use local forms for delivery
  168.  
  169.     cmd="/bin/sh -c $user",    # send address to the Bourne Shell
  170.     parent_env,            # environment info from parent addr
  171.     pipe_as_user,            # use user-id associated with address
  172.     ignore_status,            # ignore a non-zero exit status
  173.     ignore_write_errors,        # ignore write errors, i.e., broken pipe
  174.     umask=0022,            # umask for child process
  175.     -log_output,            # do not log stdout/stderr
  176.  
  177. # file - deliver mail to files
  178. #
  179. # This is used implicitly when smail encounters addresses which begin with
  180. # a slash or squiggle character, such as "/usr/info/list_messages" or
  181. # perhaps "~/Mail/inbox".
  182. file:    driver=appendfile,
  183.     return_path,            # include a Return-Path: field
  184.     from,                # supply a From_ envelope line
  185.     unix_from_hack,            # insert > before From in body
  186.                     # comment out the above line for
  187.                     # MMDF mailbox format and for
  188.                     # use with the Content-Length
  189.                     # header fields.
  190. # SVR4 mailbox format: uncomment the below 3 lines
  191. #    remove_header="Content-Length",
  192. #    append_header="${if !header:Content-Type :Content-Type: text}",
  193. #    append_header="Content-Length: $body_size",
  194.     local;                # use local forms for delivery
  195.  
  196.     file=$user,            # file is taken from address
  197.     append_as_user,            # use user-id associated with address
  198.     expand_user,            # expand ~ and $ within address
  199.     suffix="\n",            # append an extra newline
  200.                     # comment out the above line for
  201.                     # MMDF mailbox format and for
  202.                     # use with the Content-Length
  203.                     # header fields.
  204.     mode=0644,            # you may wish to change this
  205.                     # mode, depending upon local
  206.                     # conventions and preferences
  207. #    suffix="\1\1\1\1\n",        # MMDF mailbox format
  208. #    prefix="\1\1\1\1\n",        # MMDF mailbox format
  209.  
  210. # uux - deliver to the rmail program on a remote UUCP site
  211. #
  212. # HDB UUCP users should comment out the first cmd= line below, and
  213. # uncomment the second.
  214. uux:    driver=pipe,
  215.     uucp,                # use UUCP-style addressing forms
  216.     from,                # supply a From_ envelope line
  217.     max_addrs=5,            # at most 5 addresses per invocation
  218. #    max_addrs=1,            # use this if some of your neighbors
  219. #                    # can't handle multiple addresses
  220. #                    # given to their rmail.  You might,
  221. #                    # alternately, want to configure
  222. #                    # a uux_one_addr transport that
  223. #                    # does this.
  224.     max_chars=200;            # at most 200 chars of addresses
  225.  
  226.     # the -r flag prevents immediate delivery, parentheses around the
  227.     # $user variable prevent special interpretation by uux.
  228.     cmd="/usr/bin/uux - -r $host!rmail $(($user)$)",
  229.     #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rmail $(($user)$)",
  230.     pipe_as_sender,            # have uucp logs contain caller
  231.     log_output,            # save error output for bounce messages
  232. #    defer_child_errors,        # retry if uux returns an error
  233.  
  234. # demand - deliver to a remote rmail program, polling immediately
  235. #
  236. # HDB UUCP users should comment out the first cmd= line below, and
  237. # uncomment the second.
  238. demand:    driver=pipe,
  239.     uucp,                # use UUCP-style addressing forms
  240.     from,                # supply a From_ envelope line
  241.     max_addrs=5,            # at most 5 addresses per invocation
  242. #    max_addrs=1,            # use this if some of your neighbors
  243. #                    # can't handle multiple addresses
  244. #                    # given to their rmail.  You might,
  245. #                    # alternately, want to configure
  246. #                    # a demand_one_addr transport that
  247. #                    # does this.
  248.     max_chars=200;            # at most 200 chars of addresses
  249.  
  250.     # with no -r flag, try to contact remote site immediately
  251.     cmd="/usr/bin/uux - $host!rmail $(($user)$)",
  252.     #cmd="/usr/bin/uux - -a$sender -g$grade $host!rmail $(($user)$)",
  253.     pipe_as_sender,            # have uucp logs contain caller
  254.     log_output,            # save error output for bounce messages
  255. #    defer_child_errors,        # retry if uux returns an error
  256.  
  257. # uusmtp - deliver to the rsmtp program on a remote UUCP site
  258. #
  259. # The rsmtp program is assumed to to take batched SMTP requests.
  260. #
  261. # HDB UUCP users should comment out the first cmd= line below, and
  262. # uncomment the second.
  263. uusmtp:    driver=pipe,
  264.     uucp,                # use !-style addresses for routing
  265.     bsmtp,                # send batched SMTP commands
  266.     -max_addrs, -max_chars;        # no limit on number of addresses
  267.  
  268.     # supply -r to prevent immedate delivery, the recipient addresses
  269.     # are stored in the data sent to the standard input of rsmtp.
  270.     cmd="/usr/bin/uux - -r $host!rsmtp",
  271.     #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
  272.     pipe_as_sender,            # have uucp logs contain caller
  273.     log_output,            # save error output for bounce messages
  274. #    defer_child_errors,        # retry if uux returns an error
  275.  
  276. # demand_uusmtp - deliver to a remote rsmtp program, polling immediately
  277. #
  278. # HDB UUCP users should comment out the first cmd= line below, and
  279. # uncomment the second.
  280. demand_uusmtp:
  281.     driver=pipe,
  282.     uucp,                # use !-style addresses for routing
  283.     bsmtp,                # send batched SMTP commands
  284.     -max_addrs, -max_chars;        # no limit on number of addresses
  285.  
  286.     # with no -r flag, try to contact remote site immediately
  287.     cmd="/usr/bin/uux - $host!rsmtp",
  288.     #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
  289.     pipe_as_sender,            # have uucp logs contain caller
  290.     log_output,            # save error output for bounce messages
  291. #    defer_child_errors,        # retry if uux returns an error
  292.  
  293. # inet_uusmtp, inet_demand_uusmtp - batched SMTP conforming to specification
  294. #
  295. # These transports specify that transmitted addresses will conform to
  296. # the SMTP specification.  If a route is needed to deliver to a
  297. # specified host, then route-addr addresses (@host1,@host2:user@destination)
  298. # will be used.  This violates recommendations of RFC1123, but routes
  299. # are not generally required in networks where RFC1123 recommendations
  300. # fully apply.
  301. #
  302. # HDB UUCP users should comment out the first cmd= line below, and
  303. # uncomment the second.
  304. inet_uusmtp:
  305.     driver=pipe,
  306.     inet,                # use route-addr addresses for routing
  307.     bsmtp,                # send batched SMTP commands
  308.     -max_addrs, -max_chars;        # no limit on number of addresses
  309.  
  310.     # supply -r to prevent immedate delivery, the recipient addresses
  311.     # are stored in the data sent to the standard input of rsmtp.
  312.     cmd="/usr/bin/uux - -r $host!rsmtp",
  313.     #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
  314.     pipe_as_sender,            # have uucp logs contain caller
  315.     log_output,            # save error output for bounce messages
  316. #    defer_child_errors,        # retry if uux returns an error
  317.  
  318. # HDB UUCP users should comment out the first cmd= line below, and
  319. # uncomment the second.
  320. inet_demand_uusmtp:
  321.     driver=pipe,
  322.     inet,                # use route-addr addresses for routing
  323.     bsmtp,                # send batched SMTP commands
  324.     -max_addrs, -max_chars;        # no limit on number of addresses
  325.  
  326.     # with no -r flag, try to contact remote site immediately
  327.     cmd="/usr/bin/uux - $host!rsmtp",
  328.     #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
  329.     pipe_as_sender,            # have uucp logs contain caller
  330.     log_output,            # save error output for bounce messages
  331. #    defer_child_errors,        # retry if uux returns an error
  332.  
  333. # smtp - deliver using SMTP over TCP/IP
  334. #
  335. # The below four drivers are configured in only if your system supports
  336. # BSD socket networking.
  337. #
  338. # Connect to a remote host using TCP/IP and initiate an SMTP conversation
  339. # to deliver the message.  The smtp transport is included only if BSD
  340. # networking exists.
  341. #
  342. # The uucp attribute can be specified for transfers within the UUCP
  343. # zone.  The inet attribute must be specified for transfers within the
  344. # Internet.
  345. #
  346. # NOTE:    This is hardly optimal, a backend should exist which can handle
  347. #    multiple messages per connection.
  348. #
  349. # ALSO:    It may be necessary to restrict max_addrs to 100, as this is the
  350. #    lower limit SMTP requires an implementation to handle for one
  351. #    message.
  352. smtp:    driver=tcpsmtp,
  353.     inet,                # if UUCP_ZONE is not defined
  354.     #uucp,                # if UUCP_ZONE is defined
  355.     -max_addrs, -max_chars;        # no limit on number of addresses
  356.  
  357.     short_timeout=5m,        # timeout for short operations
  358.     long_timeout=2h,        # timeout for longer SMTP operations
  359.     service=smtp,            # connect to this service port
  360. # For internet use: uncomment the below 4 lines
  361. #    use_bind,            # resolve MX and multiple A records
  362. #    defnames,            # use standard domain searching
  363. #    defer_no_connect,        # try again if the nameserver is down
  364. #    -local_mx_okay,            # fail an MX to the local host
  365.  
  366. uucp_zone_smtp:
  367.     driver=tcpsmtp,
  368.     uucp,                # use !-style addresses for routing
  369.     -max_addrs, -max_chars;        # no limit on number of addresses
  370.  
  371.     short_timeout=5m,        # timeout for short operations
  372.     long_timeout=2h,        # timeout for longer SMTP operations
  373.     service=smtp,            # connect to this service port
  374. # For internet use: uncomment the below 4 lines
  375. #    use_bind,            # resolve MX and multiple A records
  376. #    defnames,            # use standard domain searching
  377. #    defer_no_connect,        # try again if the nameserver is down
  378. #    -local_mx_okay,            # fail an MX to the local host
  379.  
  380. inet_zone_smtp:
  381.     driver=tcpsmtp,
  382.     inet,                # use route-addr addresses for routing
  383.     -max_addrs, -max_chars;        # no limit on number of addresses
  384.  
  385.     short_timeout=5m,        # timeout for short operations
  386.     long_timeout=2h,        # timeout for longer SMTP operations
  387.     service=smtp,            # connect to this service port
  388. # For internet use: uncomment the below 4 lines
  389. #    use_bind,            # resolve MX and multiple A records
  390. #    defnames,            # use standard domain searching
  391. #    defer_no_connect,        # try again if the nameserver is down
  392. #    -local_mx_okay,            # fail an MX to the local host
  393.  
  394. local_smtp:
  395.     driver=tcpsmtp,
  396.     local_xform,            # transfer using local formats
  397.     -max_addrs, -max_chars;        # no limit on number of addresses
  398.  
  399.     short_timeout=5m,        # timeout for short operations
  400.     long_timeout=2h,        # timeout for longer SMTP operations
  401.     service=smtp,            # connect to this service port
  402. # For internet use: uncomment the below 4 lines
  403. #    use_bind,            # resolve MX and multiple A records
  404. #    defnames,            # use standard domain searching
  405. #    defer_no_connect,        # try again if the nameserver is down
  406. #    -local_mx_okay,            # fail an MX to the local host
  407.  
  408. # local_* - local forms for all of the remote transport entries
  409. #
  410. # Local format transports are useful when transferring mail messsages
  411. # within coordinated networks that all run Smail3.1.  When the local
  412. # attribute is enabled for a transport that delivers messages to a
  413. # remote machine, any local addresses in the header or envelope of the
  414. # message are left as local-format addresses, and the sender is left
  415. # as a local login name.
  416. #
  417. # This convention for message tranfers allows local networks to be
  418. # hidden by the common mail users and by users external to the
  419. # network.  Messages transferred to remote nodes in the network will
  420. # appear as though they originated on the receiving node.  Messages
  421. # that eventually leave the network (and are thus delivered by a
  422. # transport that does not have the local attribute set) will be
  423. # transformed into remote-format messages, with qualified domain names
  424. # for all local-format addresses.
  425. #
  426. # This can be very convenient for networks that have a central mail
  427. # processor that handles all mailing lists and forwarding for the
  428. # network, and where user names are kept coordinated throughout the
  429. # network.
  430. #
  431. # HDB UUCP users should comment out the first cmd= line below, and
  432. # uncomment the second.
  433. local_uux:
  434.     driver=pipe,
  435.     local_xform,            # transfer using local message format
  436.     uucp,                # use uucp-conformant addresses
  437.     from,                # supply a From_ envelope line
  438.     max_addrs=5,            # at most 5 addresses per invocation
  439.     max_chars=200;            # at most 200 chars of addresses
  440.  
  441.     # the -r flag prevents immediate delivery, parentheses around the
  442.     # $user variable prevent special interpretation by uux.
  443.     cmd="/usr/bin/uux - -r $host!rmail $(($user)$)",
  444.     #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rmail $(($user)$)",
  445.     pipe_as_sender,            # have uucp logs contain caller
  446.     log_output,            # save error output for bounce messages
  447. #    defer_child_errors,        # retry if uux returns an error
  448.  
  449. # HDB UUCP users should comment out the first cmd= line below, and
  450. # uncomment the second.
  451. local_demand:
  452.     driver=pipe,
  453.     local_xform,            # transfer using local formats
  454.     uucp,                # use uucp-conformant addresses
  455.     from,                # supply a From_ envelope line
  456.     max_addrs=5,            # at most 5 addresses per invocation
  457.     max_chars=200;            # at most 200 chars of addresses
  458.  
  459.     # with no -r flag, try to contact remote site immediately
  460.     cmd="/usr/bin/uux - $host!rmail $(($user)$)",
  461.     #cmd="/usr/bin/uux - -a$sender -g$grade $host!rmail $(($user)$)",
  462.     pipe_as_sender,            # have uucp logs contain caller
  463.     log_output,            # save error output for bounce messages
  464. #    defer_child_errors,        # retry if uux returns an error
  465.  
  466. # HDB UUCP users should comment out the first cmd= line below, and
  467. # uncomment the second.
  468. local_uusmtp:
  469.     driver=pipe,
  470.     local_xform,            # transfer using local formats
  471.     bsmtp,                # send batched SMTP commands
  472.     -max_addrs, -max_chars;        # no limit on number of addresses
  473.  
  474.     # supply -r to prevent immedate delivery, the recipient addresses
  475.     # are stored in the data sent to the standard input of rsmtp.
  476.     cmd="/usr/bin/uux - -r $host!rsmtp",
  477.     #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
  478.     pipe_as_sender,            # have uucp logs contain caller
  479.     log_output,            # save error output for bounce messages
  480. #    defer_child_errors,        # retry if uux returns an error
  481.  
  482. # HDB UUCP users should comment out the first cmd= line below, and
  483. # uncomment the second.
  484. local_demand_uusmtp:
  485.     driver=pipe,
  486.     local_xform,            # transfer using local formats
  487.     bsmtp,                # send batched SMTP commands
  488.     -max_addrs, -max_chars;        # no limit on number of addresses
  489.  
  490.     # with no -r flag, try to contact remote site immediately
  491.     cmd="/usr/bin/uux - $host!rsmtp",
  492.     #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
  493.     pipe_as_sender,            # have uucp logs contain caller
  494.     log_output,            # save error output for bounce messages
  495. #    defer_child_errors,        # retry if uux returns an error
  496.